<? /* шаблоны для вывода полей форм в админке */

$tabindex = $GLOBALS['form_tabindex'] = 1+ val($GLOBALS['form_tabindex']);

$label .= ':';

if(val($required)) $label .= '<sup title="обязательно для заполнения">*</sup>';

if(val($desc)) $label .= "
	<sup><a class='text4 dashed' href=# 
	title='показать/скрыть справку'
	onclick='showHide(\"desc_{$name}\"); return false;' >справка</a>
	</sup>&nbsp;
	";

$desc = val($desc);

// закоментировано, чтобы допустить HTML-теги в тексте справки
//$desc = html($desc);

switch (strtolower($type)) 
{

	
	default: 
	case ('text'):  
	/* TEXT - текстовое поле */   
	?>
		<p>
			
		<label class="text1 input_label" for="<?=$name?>" ><?=$label?></label><br/>

			<small class=input_desc id=desc_<?=$name?> style='display:none' >
			<?=$desc?>
			</small>
			
			<input 	type="text" name="<?=$name?>" id="<?=$name?>"  
					value="<?=html($value); ?>" class=input_text
					tabindex="<?=$tabindex?>"
				/>
				
				
		</p>
	
	<?  break; 
		case ('text small'):
	?>
	
		<p>
			<label class="text1" for="<?=$name?>" ><?=$label?></label>
			<?=$desc? "<span class=input_desc id=desc_{$name} style='display:none' >($desc)</span>":""?> 
			<input 	type="text" name="<?=$name?>" id="<?=$name?>"  
					value="<?=html($value); ?>" 
					class=input_text_small size=10
					tabindex="<?=$tabindex?>"
				/>
	
	<?  break; 
		
		/* NUM - целое число -999...9999 */
		case ('num'): 
	?>
	
		<p>
		<label class=text1 for="<?=$name?>"><?=$label?></label>
		<input 	type=text name="<?=$name?>" class=input_num size=3
				value="<?=html($value)?>" 
				tabindex="<?=$tabindex?>"
				>
			
	
	
	<? /* CHECKBOX - целое число -999...9999 */ 
		break; case ('checkbox'): 
	?>
		<p>
		<label class="text1" for="<?=$name?>" ><?=$label?></label>    
		
		<input type=hidden name="<?=$name?>" value='0' >
		<input 	class=checkbox type="checkbox" 
				name="<?=$name?>" id="<?=$name?>" 
				value="1"  <?= $value ? 'checked="checked"':''; ?> 
				tabindex="<?=$tabindex?>"
			><br/>
		<span class=input_desc id=desc_<?=$name?> style='display:none' ><?=$desc?></span>
	
	
	<? /* DATE - дата в текстовом поле */ 
		break; case ('date'): 
	?>
	
		<p>
			<label for="<?=$name?>">
				<span class=text1><?=$label?></span> 
				<span class=input_desc id=desc_<?=$name?> style='display:none'>(<?=$desc?>)</span>
			</label>
			<input type="text" class=input_date
				name="<?=$name?>"   id="<?=$name?>" 
				value="<?=html($value); ?>"  
				tabindex="<?=$tabindex?>"
				/>
		</p>
	
	<? /* SELECT - обычный выпадающий список */ 
		break; case ('select'): 
	?>
	
		<p>
		<label class="text1" ><?=$label?></label>
		
		<select name="<?=$name?>" id="<?=$name?>" 
				style='<?=val($style)?>' 
				onchange='<?=val($onchange)?>'
				tabindex="<?=val($tabindex)?>"
		>
			<?
			if (val($options_title))
				echo "<option  value=''>".$options_title;
			
			if ($options)
				foreach ($options as $i=>$opt) 
				{
					
					if (!is_array($opt)) $opt = array('title'=>$opt, 'value'=>$i);
					$opt = (object)$opt;
					
					$opt->value = val($opt->value, val($opt->id));
					
					if(val($opt->level)) 
						$opt->title = str_repeat ('&nbsp;&nbsp;&nbsp;&nbsp;', $opt->level-1) . $opt->title;
					
					echo "<option  value='{$opt->value}' "
						.( ($value && "$value"=="$opt->value")  ? ' selected class=blue '  :'')
						
						. val($opt->params)
						.">"
						
						.( ($value && "$value"=="$opt->value")  ? '»' : '&nbsp;&nbsp;') //'&nbsp;')
						.$opt->title
						//.("(value=$value opt->value=$opt->value)")
						."&nbsp;&nbsp;\n";
				}		
			?>
		
		</select>
		
		<span class=input_desc id=desc_<?=$name?> style='display:none' ><?=$desc?></span>
	
	
	
	<? /* TEXTAREA - обычное поле для многострочного текста или кода */  
		break; case ('textarea'): 
	?>
		<p><label class="text1" for="<?=$name?>"><?=$label?></label><br>
		<span class=input_desc id=desc_<?=$name?> style='display:none' ><?=$desc?></span>
		
		<textarea name="<?=$name?>"  tabindex="<?=$tabindex?>"
		><?=html($value)?></textarea>
	

	<? /* TEXTAREA NL2BR - многострочный текст с сохранением переносов строк */  
		break; case ('textarea nl2br'): 
	?>
		
		
		<p>
		
		
		<label class="text1" for="<?=$name?>" ><?=$label?></label>
		<br/>
		<span class=input_desc id=desc_<?=$name?> style='display:none'><?=$desc?></span>
	
		<span style="font-size:12px; color:#666; float:right; position:relative; top:1px; right:0px; display:none;" id="span_nl2br_<?=$name?>" title="при сохранении формы переносы строк заменяются на теги <BR>" >
		сохранять переносы строк 
		
		<input type=checkbox checked id="check_nl2br_<?=$name?>" style="width:auto;height:auto;border:0;" >
		</span>
		
		<textarea name="<?=$name?>" id="<?=$name?>" class="nl2br" tabindex="<?=$tabindex?>"
		><?=html($value)?></textarea>
		

		
		<? if(empty($GLOBALS['nl2br_loaded'])) 
		{	$GLOBALS['nl2br_loaded']=1;
		?>
		
		<script>
		// alert(1)
		
		String.prototype.nl2br = function(xhtml) {
			var breakTag = xhtml? '<br />' : '<br>'; 
			return (this + '')
				//.replace(/([^>]?)\r?\n/g, '$1'+ breakTag +'\n'); 
				.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag )//+'$2');

		}
		String.prototype.br2nl = function() {
			
			return (this + '').replace(/<br[\s\/]*>\s*\n?/ig, '\n'); 
		}
		String.prototype.stripSpaces = function(xhtml) {
			return (this + '').replace(/[\r\n\s]+/g, ' ')

		}

		
		
		onDomReady(
			function()
			{
				var ta,l,i,name,span
				
				ta = getElementsByClassName('nl2br') 
				
				if (ta.length)
				{
					for (i in ta)
					{
						$("span_nl2br_" + ta[i].name).style.display = ''
						
						if ($("check_nl2br_" + ta[i].name).checked)
							ta[i].value= ta[i].value.br2nl()
						
						
					}	
				
					addEvent(ta[0].form,'submit', 
						function()
						 {
							var ta = getElementsByClassName('nl2br') 
							for (var i in ta)
							{
							 	if ($("check_nl2br_" + ta[i].name).checked)
									 ta[i].value = ta[i].value.nl2br()
								else 	 
									ta[i].value = ta[i].value.stripSpaces() 
							//alert($("check_nl2br_" + ta[i].name))
							}
						 })
				}
				
			})
		
		
		
		
		</script>
		
		<?}?>

				
	
	<? /* WYSIWYG - визуальный редактор в TEXTAREA */ 
		break; case ('wysiwyg'): 
		
		
		
	?>
		
		
		
		
		<div id="wys_wrapper_<?=$name?>"  
				class=wysiwyg_wrapper 
				style='border2:1px solid #f00; background:#fff; position:relative; width:100%;'
				> 
				
			
		<a  title="полноэкранный режим"
			onclick='Wysiwyg.fullscreen("<?=$name?>")' 
			id="wys_fulllink_<?=$name?>"  href="javascript:void()"  
			style='font-size:12px; position:relative; display:block; float:right; width:50px;'
			>развернуть</a>

		
			<label class="text1" for="<?=$name?>"><?=$label?></label>

			<textarea class=wysiwyg     tabindex="<?=$tabindex?>"
				name="<?=$name?>" id="<?=$name?>"
				style='height:300px; '  
				><?=html($value); ?></textarea>
			<?=View::attach_wysiwyg() ?>
		</div>    		
		<br>

	
	<? 	break; 
		
		/* FILE - поле загрузки файла */ 
		case ('file'): 
		
		$file = Files::get_file_info($value);
		
		// accept="image/gif,image/jpeg"
	?>
	
		
		<div>
		<label class="text1" for="<?=$name?>"><?=$label?></label>
		
		<br/>

		
			
			<small style='width:100px;'><b>URL-адрес:</b></small> 
				<input type="text" class=input_file 
					name="<?=$name?>" id="<?=$name?>"  
					tabindex="<?=$tabindex?>"
					title="Ссылка на файл <?=html($value)?>"
					value="<?=html($value)?>"
					onchange='show("reset_<?=$name?>",1)'
			/>
			
			<a title='восстановить исходное значение поля' 
				id="reset_<?=$name?>"  style='display:none'
				onclick='$("<?=$name?>").value="<?=html($value)?>"'
				href="javascript:void();" class="dashed small grey" 
			>сброс</a>
			
		</div>

		
	
		<script>setTimeout('hide("filefield_<?=$name?>")',100)</script>
		<div id="filefield_<?=$name?>" style='display2:none; margin:6px 0;'>
			
			<span id="span_<?=$name?>" >
			
			<small style='width:100px;'><b>Загрузить:</b></small>
			<input type="file" class=input_file 
				tabindex="<?= ++$tabindex?>"
				name="UploadFile_<?=$name?>"  
				title="Выбрать файл на компьютере"   
				>
			
	
			</span>	
			
			<script>setTimeout('show("cancel_<?=$name?>",true)',100)</script>
			<a 	title='отменить загрузку файла' style='display:none'
				id="cancel_<?=$name?>"
				href="javascript:void();" class="dashed small grey" 
				onclick='s=$("span_<?=$name?>");  f=s.innerHTML; s.innerHTML=f;  hide("filefield_<?=$name?>"); '
			>отменить</a>
		</div>		
		
		
		
		<small><small2>
		<!-- <span style='width:100px;'>&nbsp;</span>&nbsp; -->
		Выбрать файл:&nbsp;
				
		<script>
		setTimeout('show("explore_<?=$name?>",true)',100)
		</script>
				
		<a 	title="выбрать уже загруженный файл через файл-менеджер"
			href="/admin/files/"  target=filemanager
			onclick="return getFileToField('<?=$name?>', this); "
			class="dashed blue"  >на сервере</a>&nbsp;
		
		<a 	title="выбрать файл на локальном компьютере" 
			id="explore_<?=$name?>" style='display:none;margin:0 6px;'
			href="javascript:void();" class="dashed blue" 
			onclick = 'show("filefield_<?=$name?>"); return false;'
			>на компьютере</a>&nbsp;
		
		</small></small>
		
	
		<? /* Выводим информацию о файле и миниатюру */		
			
		
		if($value){ 
		?>
			<table class=file_info ><tr>
			<TD class=file_info_desc >
			<big>
			Загруженный файл:
			</big>
			<div>
			<a  href="<?=$file->url?>" title="<?=$file->name?>" 
				><?=str_limit($file->name, $file->is_image? 31:45)?></a>
			</div>
			<div>
			
			<?if($file->is_image) echo "Размеры: ". $file->width.'x'.$file->height.'px<br>'; ?>
			<nobr>Вес: <?=$file->formatsize?></nobr> 
			
			</div>
			
			<!-- <span style="color:#aaa;">
			<br>
			<big>Удалить:</big> 
			<input type="checkbox" class=checkbox name="data[img_delete]" value=true  tabindex="<?= ++$tabindex?>"  />
			</span> -->
			
			<?if($file->is_image){?>
			<TD width=4>
			<TD class=file_info_img >
			
				<a href="<?=$file->url ?>" 
					<?= " title='{$file->name} \n({$file->img_formatsize})' " ?> 
				><img src="<?=Image::thumb($file->url,98,180)?>" class=border1px ></a>
			<?}?>
			
			
			</TABLE>
			
		<?}?>	
		<p>
		
		
		
		
		
	
<?
}